package com.yfp.device.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 订单表
 * @TableName order_list
 */
@TableName(value ="order_list")
@Data
public class OrderList implements Serializable {
    /**
     * 订单编号
     */
    private String orderSn;

    /**
     * 订单时间
     */
    private Date orderTime;

    /**
     * 下单用户
     */
    private String userName;

    /**
     * 用户联系方式
     */
    private String userMobile;

    /**
     * 支付金额
     */
    private String amt;

    /**
     * 退款单号
     */
    private String refundSn;

    /**
     * 退款金额
     */
    private String refundAmt;

    /**
     * 退款时间
     */
    private Date refundTime;

    /**
     * 退款原因
     */
    private String refundReason;

    /**
     * 支付宝/微信交易号
     */
    private String payTradeNo;

    /**
     * 支付方式（1：支付宝 2：微信）
     */
    private String payType;

    /**
     * 订单状态（1：未支付 2：已取餐 3：已完成 4：已退款 5：异常6:退款中 7.退款失败 8.已支付）
     */
    private Integer payStatus;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 套餐id
     */
    private String comboId;

    /**
     * 套餐名称
     */
    private String comboName;

    /**
     * 套餐标签
     */
    private String comboTag;

    /**
     * 设备id
     */
    private String machineId;

    /**
     * 货道号
     */
    private String machineRoadNo;

    /**
     * 公司id
     */
    private String companyId;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 区域id
     */
    private String areaId;

    /**
     * 区域名称
     */
    private String areaName;

    /**
     * 线路id
     */
    private String routeId;

    /**
     * 线路名称
     */
    private String routeName;

    /**
     * 点位id
     */
    private String positionId;

    /**
     * 点位名称
     */
    private String positionName;

    /**
     * 设备地址
     */
    private String positionAddr;

    /**
     * 取餐码
     */
    private String checkCode;

    /**
     * 订单备注
     */
    private String remark;

    /**
     * 异常原因
     */
    private String exceptionReason;

    /**
     * 标记异常时间
     */
    private Date exceptionTime;

    /**
     * 异常标记操作人
     */
    private String exceptionOper;

    /**
     * 是否异常
     */
    private String isException;

    /**
     * 订单类型（0小程序，1设备, 2企业订单）
     */
    private String orderType;

    /**
     * 操作时间
     */
    private Date updateTime;

    /**
     * 操作人
     */
    private String updateName;

    /**
     * 
     */
    private String id;

    /**
     * 退款申请时间
     */
    private Date refundForTime;

    /**
     * 
     */
    private Long count;

    /**
     * 商品类型:[1实体类型、2虚拟类型]
     */
    @Schema(title = "商品类型:[1实体类型、2虚拟类型]")
    private Integer goodsType;

    @Schema(title = "城市名称")
    private String cityName;

    /**
     * 订单完成时间
     */
    private Date finishTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}